In machine tools, when an actuating direction of a servo-motor for actuating the table and the like is reversed, it is usual that a driven part of the machine cannot promptly response to or follow the reversing movement of the servo-motor because of backlash of feed screw or the effect of friction. For this reason, when a machine tool is performing profile machining, a protrusion may be formed on a cut surface of the workpiece when a shifting direction of a feed rod equipped in the machine tool is reversed.
For example, it is supposed that the machine tool operates to cut the workpiece in an arc shape on a plane defined by two axes of X-axis and Y-axis. And then, the table moves from one quadrant to another quadrant when the table is driven to move toward the plus in the direction of the X-axis and toward the minus in the direction of Y-axis. In this instance, if the table is actuated to move continuously in the same direction with respect to the Y-axis and, to the contrary, actuated to turn toward the minus in the direction of the X-axis, it is expected that no problem will occur with respect to the Y-axis because the cutting operation is continuously and smoothly carried out at the same speed in the direction of the Y-axis. However, the positional deviation in the direction of the X-axis becomes "0" and therefore, first of all, its torque command value becomes smaller, so that the servo-motor cannot reverse its turning direction immediately due to friction, and also, the shifting direction of the table cannot be immediately reversed due to backlash of a feed screw provided for feeding the table. Thus, the shifting movement of the workpiece in the X-direction cannot follow the shifting command and, therefore, there is caused a delay in the response of the workpiece. As a result of such a delay, a protrusion will be formed on the arc-shaped cut surface.
In order to eliminate or reduce this kind of protrusion, so-called backlash acceleration has been employed in such a manner that, when a shifting direction is reversed, a positional backlash correction is applied to a positional deviation and further, when the positional deviation is reversed, the servo-motor is accelerated in its reversing direction by adding an adequate amount of correction (i.e. an acceleration amount) to the speed command in order to reduce the protrusion in the transition phase from one quadrature to another quadrature, as disclosed, for example, in the Unexamined Japanese Patent Application JP, A, 4- 8451.
Furthermore, to reduce the amount of the positional deviation in a servo motor system for controlling a machine tool, a feedforward control is employed. Especially, in the case where a machine tool operates to cut a workpiece in a high-speed operating mode, a time lag in the servo system will cause an error in finished cut shape of the workpiece.
In order to reduce such a shape error, as disclosed in the Japanese Patent Application Serial No. 2-301154, filed by the same applicant of the present application, there has been developed a feedforward control wherein a feedforward amount is obtained by smoothing a shift command supplied from a numerical control apparatus, and thus obtained feedforward amount is added to a speed command that is calculated as an output of a position loop by multiplying a positional deviation by a position gain, thereby executing a speed loop processing on the basis of this corrected speed command.
This feedforward control will be explained with reference to FIG. 4. DDA (Digital Differential Analyzer) 10 splits a shift command Mcmd supplied from a CNC (Computer-equipped Numerical Controller) at a regular interval of a distribution period into shift commands corresponding to position and speed loop processing periods. An error counter 11 obtains a positional deviation by adding the values subtracting a feedback amount Pfb from the speed command outputted from the DDA 10.
A speed command term 12 obtains a speed command, multiplying the positional deviation stored in the error counter 11 by a position gain Kp. A reference numeral 13 denotes a speed loop term, and a reference numeral 14 denotes an integration term that integrates the servo-motor speed so as to detect a position.
Furthermore, an advance-factor term 15 is used in a feedforward control. This advance-factor term 15 serves to advance the shift command outputted from the DDA 10 by an amount corresponding to d period of the position and speed loop processing period.
A smoothing circuit 16 executes a processing for obtaining an average value. A reference numeral 17 denotes a feedforward amount term for multiplying the value outputted from the smoothing circuit 16 by a feedforward coefficient .alpha. to obtain a feedforward amount.
Then, thus obtained feedforward amount is added to the speed command, which is obtained by multiplying the positional deviation by the position gain Kp. Thus, a corrected speed command Vcmd is obtained as a control value corrected by the feedforward amount. Then, the speed loop 13 carries out its processing on the basis of thus corrected speed command Vcmd.
In the case where the servo-motor is controlled in such a servo system, if the feedforward coefficient .alpha. is close to "1", most of the speed commands Vcmd will be determined by the command produced by the feedforward control. In other words, the positional deviation becomes nearly equal to "0".
Furthermore, as the command produced by the feedforward control has advanced phase, the phase of the positional deviation is delayed relative to the feedforward command.
Moreover, when the feedforward coefficient .alpha. is close to "1", the motor will hardly delay in its shift position with respect to the shift command. Consequently, the positional deviation being nearly equal to "0", and the phase being delayed, it will be difficult to determine the point for initiating a backlash acceleration correction at the time of reversal of shifting direction on the basis of the positional deviation.
Still further, as an actual position of the motor is not delayed against the shift command, if the distribution period of the CNC is too long (normally, the distribution period is longer than the position and speed loop processing period), the initiating time of the backlash acceleration correction may disperse depending on the starting point of machining program (point a1 indicated in FIGS. 5a and 5b, for example).
FIGS. 5a and 5b show examples of an arc-shape cutting operation. When the positions according to the respective shift commands in each distribution period are given as a1, a2, a3 and a4 respectively, as illustrated in FIG. 5a, in performing the arc-shape cutting operation, the actual reversal of the direction of shift with respect to Y-axis can occur either at position a2, which is a position before the right position for reversal, or position a3, which is a position after the right position for reversal as illustrated in FIG. 5b, depending on the condition of the shift command in each distribution period.
When the feedforward coefficient .alpha. is nearly equal to "0", and thus the effect of the feedforward component on the speed command Vcmd is relatively small, the positional deviation causes a delay of several 10 msec (i.e. a value corresponding to 1/Kp). Hence, above-described dispersion can be absorbed by this delay, causing no problem.
However, when the feedforward coefficient .alpha. is close to [1], the delay of actual position is almost nonexistent in relation to the shift command. Thus, an error may be enlarged if the backlash acceleration correction is initiated at the above-explained reversing point of position deviation.